package de.cachaca.lildancefreak.valerie;

import de.cachaca.lildancefreak.Calculator;

// ich habe jetzt was geändert und will es pierre zeigen
public class CalculatorImplValeriePierresKommentare implements Calculator {

	// warum nennst du das tempValue ... es ist doch der aktuelle Wert, den 
	// der Taschenrechner hat, oder? Es ist keine Hilfsvariable, sonder der
	// aktuelle Zustand (Objekt = Zustand + Methioden)
	// nenn es also einfach "value" :-)
	double tempValue = 0.0;
	
	public CalculatorImplValeriePierresKommentare() {
	}

	public CalculatorImplValeriePierresKommentare(double initValue) {
		
		tempValue = initValue;
	}

	@Override
	public void add(double value) {
		

		// innerhalb einer Klasse musst Du nicht die public-methoden verwenden
		// (manchmal - bei sog. Einschubmethoden macht es aber auch sinn 
		// das musst du jetzt nicht verstehen ... geht eher in richtung 
		// klassendesign)
		// du kannst also einfach schreiben
		//    tempValue = tempValue + value
		// so hast du es ja auch bei subtract gemacht
		tempValue = getResult() + value;
		
	}

	@Override
	public void subtract(double value) {
		
		tempValue = tempValue - value;
	}

	@Override
	public void multiply(double value) {
		
		tempValue = tempValue * value;
	}

	@Override
	public double getResult() {
		return this.tempValue;
		
	}

	@Override
	public void reset(double value) {
		tempValue = value;
	}

	@Override
	public boolean isValuePositive() {
		
		if(tempValue < 0)
			return false;
		else return true;
	}

}
